package connect.bdd;

import java.sql.*;

/**
 * 
 * @author boomar
 * 
 * classe generique de connection a une bdd
 * cette classe se connecte a un serveur de bdd a l aide des drivers correspondant (postgres, mysql,oracle...), de l url du serveur,
 * du nom d utilisateur de la base, du mot de passe associé
 * elle utilise pour se connecter la methode connect
 * la methode envoiReq permet d envoyer une requete de consultation apres connection au serveur de bdd
 * la methode affichtab affiche les enregistrements d un champs apres avoirs envoyer une requete de selection (envoireq)
 * la methode
 **/

public class BDDConnect extends Connect {

    String url;
    String user;
    String pass;
    Connection con;

    public BDDConnect(String driv, String urlc, String userc, String passc) {
        super(driv);
        this.url = urlc;
        this.user = userc;
        this.pass = passc;
    }

    public void CloseConnect() {
        try {

            this.con.close();
        } catch (SQLException evt) {
            System.err.println("==>SQL Exception :\n");
            while (evt != null) {
                System.out.println("Message: " + evt.getMessage());
                System.out.println("SQLState: " + evt.getSQLState());
                System.out.println("ErrorCode: " + evt.getErrorCode());
                evt = evt.getNextException();
                System.out.println("");
            }
        }
    }

    public boolean Connect() {
        try {
            boolean recup = this.DriversCharg();
            System.out.println("Drivers charges:" + recup);
            con = DriverManager.getConnection(url, user, pass);
            System.out.println("\nConnection a la base etablie");


        } catch (SQLException evt) {
            System.err.println("==>SQL Exception :\n");
            while (evt != null) {
                System.out.println("Message: " + evt.getMessage());
                System.out.println("SQLState: " + evt.getSQLState());
                System.out.println("ErrorCode: " + evt.getErrorCode());
                evt = evt.getNextException();
                System.out.println("");
                return false;
            }
        }
        return true;
    }
}
